//
//  AppDelegate.swift
//  weibo
//
//  Created by apple on 15/12/12.
//  Copyright © 2015年 LYR. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        
//       看之前是否已经获取到了账户信息
        
        let account = UserAccount.loadAccount()
        
        print("\(account)")
//        print("------------")
        
//         因为已经将系统的storyBoard删掉 所以需要创建window
        window = UIWindow(frame: UIScreen.mainScreen().bounds)
        
        window?.backgroundColor = UIColor.whiteColor()
        
//        设置为  主要窗口并且可见
        window?.makeKeyAndVisible()
        
        //注册通知
        registerNotification()
        
        
//        设置根控制器
//        window?.rootViewController = WelcomeViewController()
        window?.rootViewController = defaultViewController()
        
//       设置全局颜色属性
        setThemeColor()
        
        return true
        
    }
    
    //MARK:注册通知
    private func registerNotification() {
    
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "switchRootViewController:", name:WBSwitchRootVCNotification, object: nil)
    }
    
    //移除通知的操作
    deinit{
        
    NSNotificationCenter.defaultCenter().removeObserver(self)
    
    }
    
    //  收到通知 切换控制器
    @objc private func switchRootViewController(n: NSNotification) {
            
        if n.object != nil {
        
        window?.rootViewController = WelcomeViewController()
        
        }
    
        window?.rootViewController = MainViewController()
    
    }

    //MARK:根据用户是否登录显示具体的页面 vggggggggg
    private func defaultViewController() -> UIViewController {
    
        //用户登录情况下
        if UserAccountViewModel().userLogin {
            
            //登录情况下还要判断是否是新版本
            // 新版本就要显示新特性页面  不是新版本显示欢迎页面
            return isNewVersion() ? NewFeatureViewController() : WelcomeViewController()
        
        }
          //  没有登录的情况下  显示登录界面（即访客视图页面）
            return MainViewController()
    
    }
    
    //  MARK:判断是否是新版本
    private func isNewVersion() -> (Bool) {
    
    //1.获取当前的版本号
        let info = NSBundle.mainBundle().infoDictionary
        
        let currentStr = info!["CFBundleShortVersionString"] as! String
        
        let currentNum = Double(currentStr)
        
    //2.获取存储的旧版本号
        
        let userDefaults = NSUserDefaults.standardUserDefaults()
        let sandBoxKey = "sandBoxKey"
        let lastNum = userDefaults.doubleForKey(sandBoxKey)
    //3.存储新的版本号
        
        userDefaults.setDouble(currentNum!, forKey: sandBoxKey)
        userDefaults.synchronize()
        
    //4.比较新旧版本号
        
        return currentNum! > lastNum
    
    }
    
    //设置主题颜色
    private func setThemeColor() {
    
    UINavigationBar.appearance().tintColor = themeColor
    UITabBar.appearance().tintColor = themeColor
    
    }

}

